/*
 * Copyright 2019 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

package org.kie.cloud.openshift.operator.constants;

import org.kie.cloud.openshift.template.ProjectProfile;

public class OpenShiftOperatorEnvironments {

    public static final String TRIAL = getEnvironmentPrefix() + "trial";
    public static final String PRODUCTION = getEnvironmentPrefix() + "production";
    public static final String PRODUCTION_IMMUTABLE = getEnvironmentPrefix() + "production-immutable";
    public static final String AUTHORING = getEnvironmentPrefix() + "authoring";
    public static final String AUTHORING_HA = getEnvironmentPrefix() + "authoring-ha";

    private static String getEnvironmentPrefix() {
        ProjectProfile projectProfile = ProjectProfile.fromSystemProperty();
        switch (projectProfile) {
            case JBPM:
                return "rhpam-";
            case DROOLS:
                return "rhdm-";
            default:
                throw new IllegalStateException("Unrecognized ProjectProfile: " + projectProfile);
        }
    }
}
